
package com.sunwayhorizo.health.hl7.datatypes.common;

import com.sunwayhorizo.health.hl7.datatypes.ANY;
import com.sunwayhorizo.health.hl7.datatypes.BL;
import com.sunwayhorizo.health.hl7.datatypes.BN;
import com.sunwayhorizo.health.hl7.datatypes.CS;
import com.sunwayhorizo.health.hl7.datatypes.TYPE;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;


// Referenced classes of package oracle.apps.ctb.hl7.types.common:
//            ANYImpl, BLImpl, BNImpl, CSImpl


public class TYPEImpl extends ANYImpl implements TYPE
{
    public static final String RCS_ID
	= "$Header: TYPEImpl.java 115.16 2005/05/13 15:04:49 atomlins noship $";
    public static final TYPE TYPE = new TYPEImpl("TYPE", "DataType");
    public static final TYPE ANY = new TYPEImpl("ANY", "DataValue");
    public static final TYPE BL = new TYPEImpl("BL", "Boolean");
    public static final TYPE BN = new TYPEImpl("BN", "BooleanNonNull");
    public static final TYPE BIN = new TYPEImpl("BIN", "Binary Data");
    public static final TYPE ED = new TYPEImpl("ED", "Encapsulated Data");
    public static final TYPE ST = new TYPEImpl("ST", "Character String");
    public static final TYPE CD = new TYPEImpl("CD", "Concept Descriptor");
    public static final TYPE CR = new TYPEImpl("CR", "Concept Role");
    public static final TYPE CS = new TYPEImpl("CS", "Coded Simple Value");
    public static final TYPE CV = new TYPEImpl("CV", "Coded Value");
    public static final TYPE CO = new TYPEImpl("CO", "Coded Ordinal");
    public static final TYPE CE = new TYPEImpl("CE", "Coded with Equivalents");
    public static final TYPE SC
	= new TYPEImpl("SC", "Character String with Code");
    public static final TYPE UID
	= new TYPEImpl("UID", "Unique Identifier String");
    public static final TYPE OID
	= new TYPEImpl("OID", "ISO Object Identifier");
    public static final TYPE UUID
	= new TYPEImpl("UUID", "DCE Universal Unique Identifier");
    public static final TYPE RUID
	= new TYPEImpl("RUID", "HL7 Universal Unique Identifier");
    public static final TYPE II = new TYPEImpl("II", "Instance Identifier");
    public static final TYPE URL
	= new TYPEImpl("URL", "Universal Resource Locator");
    public static final TYPE TEL
	= new TYPEImpl("TEL", "Telecommunicatio Address");
    public static final TYPE ADXP = new TYPEImpl("ADXP", "Address Part");
    public static final TYPE AD = new TYPEImpl("AD", "Postal Address");
    public static final TYPE ENXP = new TYPEImpl("ENXP", "Entity Name Part");
    public static final TYPE EN = new TYPEImpl("EN", "Entity Name");
    public static final TYPE TN = new TYPEImpl("TN", "Trivial Name");
    public static final TYPE PN = new TYPEImpl("PN", "Person Name");
    public static final TYPE ON = new TYPEImpl("ON", "Organization Name");
    public static final TYPE QTY
	= new TYPEImpl("QTY", "Abstract Type Quantity");
    public static final TYPE INT = new TYPEImpl("INT", "Integer Number");
    public static final TYPE REAL = new TYPEImpl("REAL", "Real Number");
    public static final TYPE RTO_PQ
	= new TYPEImpl("RTO<PQ,PQ>", "Ratio of Physical Quantities");
    public static final TYPE RTO_INT
	= new TYPEImpl("RTO<INT,INT>", "Ratio of Integers");
    public static final TYPE RTO_QTY
	= new TYPEImpl("RTO<QTY,QTY>", "Ratio of Abstract Type Quantity");
    public static final TYPE RTO_MO_PQ
	= new TYPEImpl("RTO<MO,PQ>",
		       "Ratio of Monetary Amount to Physical Quantity");
    public static final TYPE PQ = new TYPEImpl("PQ", "Physical Quantity");
    public static final TYPE PQR
	= new TYPEImpl("PQR", "Physical Quantity Representation");
    public static final TYPE MO = new TYPEImpl("MO", "Monetary Amount");
    public static final TYPE CAL = new TYPEImpl("CAL", "Calendar");
    public static final TYPE CLCY = new TYPEImpl("CLCY", "Calendar Cycle");
    public static final TYPE TS = new TYPEImpl("TS", "Point in Time");
    public static final TYPE SET_CD
	= new TYPEImpl("SET<CD>", "Set of Concept Descriptors");
    public static final TYPE SET_CE
	= new TYPEImpl("SET<CE>", "Set of Coded with equivalents");
    public static final TYPE SET_CS
	= new TYPEImpl("SET<CS>", "Set of Coded Simple");
    public static final TYPE SET_CV
	= new TYPEImpl("SET<CV>", "Set of Coded Values");
    public static final TYPE SET_II
	= new TYPEImpl("SET<II>", "Set of Instance Identifiers");
    public static final TYPE SET_INT
	= new TYPEImpl("SET<INT>", "Set of Integers");
    public static final TYPE SET_MO
	= new TYPEImpl("SET<MO>", "Set of Monetary Amounts");
    public static final TYPE SET_PQ
	= new TYPEImpl("SET<PQ>", "Set of Physical Quantities");
    public static final TYPE SET_REAL
	= new TYPEImpl("SET<REAL>", "Set of Real Numbers");
    public static final TYPE SET_RTO_PQ
	= new TYPEImpl("SET<RTO<PQ,PQ>>", "Set of Ratios");
    public static final TYPE SET_TEL
	= new TYPEImpl("SET<TEL>", "Set of Telecommunication Addresses");
    public static final TYPE SET_TS
	= new TYPEImpl("SET<TS>", "Set of Points in Time");
    public static final TYPE SET_EN
	= new TYPEImpl("SET<EN>", "Set of Entity Names");
    public static final TYPE SET_PN
	= new TYPEImpl("SET<PN>", "Set of Person Names");
    public static final TYPE SET_ON
	= new TYPEImpl("SET<ON>", "Set of Organization Names");
    public static final TYPE SET_AD
	= new TYPEImpl("SET<AD>", "Set of Postal Addresses");
    public static final TYPE QSET
	= new TYPEImpl("QSET", "Totally Ordered Set of Continuous Quantities");
    public static final TYPE LIST_ADXP
	= new TYPEImpl("LIST<ADXP>", "Sequence of Address Parts");
    public static final TYPE LIST_BN
	= new TYPEImpl("LIST<BN>", "Sequence of BooleanNonNull");
    public static final TYPE LIST_CR
	= new TYPEImpl("LIST<CR>", "Sequence of Concept Roles");
    public static final TYPE LIST_ENXP
	= new TYPEImpl("LIST<ENXP>", "Sequence of Entity Name Parts");
    public static final TYPE LIST_INT
	= new TYPEImpl("LIST<INT>", "Sequence of Integers");
    public static final TYPE GLIST
	= new TYPEImpl("GLIST", "Generated Sequence");
    public static final TYPE SLIST = new TYPEImpl("SLIST", "Sampled Sequence");
    public static final TYPE BAG_AD
	= new TYPEImpl("BAG<AD>", "Bag of Addresses");
    public static final TYPE BAG_EN
	= new TYPEImpl("BAG<EN>", "Bag of Entity Names");
    public static final TYPE BAG_ON
	= new TYPEImpl("BAG<ON>", "Bag of Organization Names");
    public static final TYPE BAG_PN
	= new TYPEImpl("BAG<PN>", "Bag of Person Names");
    public static final TYPE BAG_TN
	= new TYPEImpl("BAG<TN>", "Bag of Trivial Names");
    public static final TYPE BAG_TEL
	= new TYPEImpl("BAG<TEL>", "Bag of Telecommunications Addresses");
    public static final TYPE IVL_CD
	= new TYPEImpl("IVL<CD>", "Interval of Concept Descriptors");
    public static final TYPE IVL_CE
	= new TYPEImpl("IVL<CE>", "Interval of Coded with equivalents");
    public static final TYPE IVL_CS
	= new TYPEImpl("IVL<CS>", "Interval of Coded Simple");
    public static final TYPE IVL_II
	= new TYPEImpl("IVL<II>", "Interval of Instance Identifiers");
    public static final TYPE IVL_INT
	= new TYPEImpl("IVL<INT>", "Interval of Integers");
    public static final TYPE IVL_MO
	= new TYPEImpl("IVL<MO>", "Interval of Monetary Amounts");
    public static final TYPE IVL_PQ
	= new TYPEImpl("IVL<PQ>", "Interval of Physical Quantities");
    public static final TYPE IVL_REAL
	= new TYPEImpl("IVL<REAL>", "Interval of Real Numbers");
    public static final TYPE IVL_RTO_PQ
	= new TYPEImpl("IVL<RTO<PQ,PQ>>", "Interval of Ratios");
    public static final TYPE IVL_TS
	= new TYPEImpl("IVL<TS>", "Interval of Points in Time");
    public static final TYPE IVL_EN
	= new TYPEImpl("IVL<EN>", "Interval of Entity Names");
    public static final TYPE IVL_PN
	= new TYPEImpl("IVL<PN>", "Interval of Person Names");
    public static final TYPE IVL_ON
	= new TYPEImpl("IVL<ON>", "Interval of Organization Names");
    public static final TYPE IVL_AD
	= new TYPEImpl("IVL<AD>", "Interval of Postal Addresses");
    public static final TYPE HXIT = new TYPEImpl("HXIT", "History Item");
    public static final TYPE HIST = new TYPEImpl("HIST", "History");
    public static final TYPE UVP
	= new TYPEImpl("UVP", "Uncertain Value - Probabilistic");
    public static final TYPE NPPD
	= new TYPEImpl("NPPD", "Non-Parametric Probability Distribution");
    public static final TYPE PIVL
	= new TYPEImpl("PIVL", "Periodic Interval of Time");
    public static final TYPE EIVL
	= new TYPEImpl("EIVL", "Event-Related Periodic Interval of Time");
    public static final TYPE GTS
	= new TYPEImpl("GTS", "General Timing Specification");
    public static final TYPE PPD
	= new TYPEImpl("PPD", "Parametric Probability Distribution");
    public static final TYPE ONXP
	= new TYPEImpl("ONXP", "Organization Name Part");
    public static final TYPE PNXP = new TYPEImpl("PNXP", "Person Name Part");
    public static final TYPE TNXP = new TYPEImpl("TNXP", "Trivial Name Part");
    public static TypeTree _hierarchy = new TypeTree();
    private CS mShortName;
    private CS mLongName;
    
    private static class TypeTree
    {
	private TypeTreeNode _head = new TypeTreeNode(null, TYPEImpl.ANY);
	
	public TypeTree() {
	    TypeTreeNode typetreenode = new TypeTreeNode(TYPEImpl.TYPE);
	    TypeTreeNode typetreenode_0_ = new TypeTreeNode(TYPEImpl.BL);
	    TypeTreeNode typetreenode_1_ = new TypeTreeNode(TYPEImpl.BN);
	    TypeTreeNode typetreenode_2_
		= new TypeTreeNode(TYPEImpl.LIST_ADXP);
	    TypeTreeNode typetreenode_3_ = new TypeTreeNode(TYPEImpl.LIST_BN);
	    TypeTreeNode typetreenode_4_ = new TypeTreeNode(TYPEImpl.LIST_CR);
	    TypeTreeNode typetreenode_5_
		= new TypeTreeNode(TYPEImpl.LIST_ENXP);
	    TypeTreeNode typetreenode_6_ = new TypeTreeNode(TYPEImpl.LIST_INT);
	    TypeTreeNode typetreenode_7_ = new TypeTreeNode(TYPEImpl.II);
	    TypeTreeNode typetreenode_8_ = new TypeTreeNode(TYPEImpl.URL);
	    TypeTreeNode typetreenode_9_ = new TypeTreeNode(TYPEImpl.QTY);
	    TypeTreeNode typetreenode_10_ = new TypeTreeNode(TYPEImpl.SET_CD);
	    TypeTreeNode typetreenode_11_ = new TypeTreeNode(TYPEImpl.SET_CE);
	    TypeTreeNode typetreenode_12_ = new TypeTreeNode(TYPEImpl.SET_CS);
	    TypeTreeNode typetreenode_13_ = new TypeTreeNode(TYPEImpl.SET_II);
	    TypeTreeNode typetreenode_14_ = new TypeTreeNode(TYPEImpl.SET_INT);
	    TypeTreeNode typetreenode_15_ = new TypeTreeNode(TYPEImpl.SET_PQ);
	    TypeTreeNode typetreenode_16_
		= new TypeTreeNode(TYPEImpl.SET_RTO_PQ);
	    TypeTreeNode typetreenode_17_ = new TypeTreeNode(TYPEImpl.SET_TS);
	    TypeTreeNode typetreenode_18_ = new TypeTreeNode(TYPEImpl.SET_EN);
	    TypeTreeNode typetreenode_19_ = new TypeTreeNode(TYPEImpl.SET_PN);
	    TypeTreeNode typetreenode_20_ = new TypeTreeNode(TYPEImpl.SET_ON);
	    TypeTreeNode typetreenode_21_ = new TypeTreeNode(TYPEImpl.SET_AD);
	    TypeTreeNode typetreenode_22_ = new TypeTreeNode(TYPEImpl.SET_MO);
	    TypeTreeNode typetreenode_23_
		= new TypeTreeNode(TYPEImpl.SET_REAL);
	    TypeTreeNode typetreenode_24_ = new TypeTreeNode(TYPEImpl.BAG_AD);
	    TypeTreeNode typetreenode_25_ = new TypeTreeNode(TYPEImpl.BAG_EN);
	    TypeTreeNode typetreenode_26_ = new TypeTreeNode(TYPEImpl.BAG_TEL);
	    TypeTreeNode typetreenode_27_ = new TypeTreeNode(TYPEImpl.CD);
	    TypeTreeNode typetreenode_28_ = new TypeTreeNode(TYPEImpl.BIN);
	    TypeTreeNode typetreenode_29_ = new TypeTreeNode(TYPEImpl.ED);
	    TypeTreeNode typetreenode_30_ = new TypeTreeNode(TYPEImpl.ST);
	    TypeTreeNode typetreenode_31_ = new TypeTreeNode(TYPEImpl.UID);
	    TypeTreeNode typetreenode_32_ = new TypeTreeNode(TYPEImpl.SC);
	    TypeTreeNode typetreenode_33_ = new TypeTreeNode(TYPEImpl.ADXP);
	    TypeTreeNode typetreenode_34_ = new TypeTreeNode(TYPEImpl.ENXP);
	    TypeTreeNode typetreenode_35_ = new TypeTreeNode(TYPEImpl.OID);
	    TypeTreeNode typetreenode_36_ = new TypeTreeNode(TYPEImpl.UUID);
	    TypeTreeNode typetreenode_37_ = new TypeTreeNode(TYPEImpl.AD);
	    TypeTreeNode typetreenode_38_ = new TypeTreeNode(TYPEImpl.EN);
	    TypeTreeNode typetreenode_39_ = new TypeTreeNode(TYPEImpl.ON);
	    TypeTreeNode typetreenode_40_ = new TypeTreeNode(TYPEImpl.PN);
	    TypeTreeNode typetreenode_41_ = new TypeTreeNode(TYPEImpl.TN);
	    new TypeTreeNode(TYPEImpl.GLIST);
	    new TypeTreeNode(TYPEImpl.SLIST);
	    TypeTreeNode typetreenode_42_ = new TypeTreeNode(TYPEImpl.MO);
	    TypeTreeNode typetreenode_43_ = new TypeTreeNode(TYPEImpl.RTO_PQ);
	    TypeTreeNode typetreenode_44_
		= new TypeTreeNode(TYPEImpl.RTO_MO_PQ);
	    TypeTreeNode typetreenode_45_ = new TypeTreeNode(TYPEImpl.RTO_QTY);
	    TypeTreeNode typetreenode_46_ = new TypeTreeNode(TYPEImpl.PQ);
	    TypeTreeNode typetreenode_47_ = new TypeTreeNode(TYPEImpl.REAL);
	    TypeTreeNode typetreenode_48_ = new TypeTreeNode(TYPEImpl.INT);
	    TypeTreeNode typetreenode_49_ = new TypeTreeNode(TYPEImpl.TS);
	    TypeTreeNode typetreenode_50_ = new TypeTreeNode(TYPEImpl.IVL_CD);
	    TypeTreeNode typetreenode_51_ = new TypeTreeNode(TYPEImpl.IVL_CE);
	    TypeTreeNode typetreenode_52_ = new TypeTreeNode(TYPEImpl.IVL_CS);
	    TypeTreeNode typetreenode_53_ = new TypeTreeNode(TYPEImpl.IVL_II);
	    TypeTreeNode typetreenode_54_ = new TypeTreeNode(TYPEImpl.IVL_INT);
	    TypeTreeNode typetreenode_55_ = new TypeTreeNode(TYPEImpl.IVL_PQ);
	    TypeTreeNode typetreenode_56_
		= new TypeTreeNode(TYPEImpl.IVL_RTO_PQ);
	    TypeTreeNode typetreenode_57_ = new TypeTreeNode(TYPEImpl.IVL_TS);
	    TypeTreeNode typetreenode_58_ = new TypeTreeNode(TYPEImpl.IVL_EN);
	    TypeTreeNode typetreenode_59_ = new TypeTreeNode(TYPEImpl.IVL_PN);
	    TypeTreeNode typetreenode_60_ = new TypeTreeNode(TYPEImpl.IVL_ON);
	    TypeTreeNode typetreenode_61_ = new TypeTreeNode(TYPEImpl.IVL_AD);
	    TypeTreeNode typetreenode_62_ = new TypeTreeNode(TYPEImpl.IVL_MO);
	    TypeTreeNode typetreenode_63_
		= new TypeTreeNode(TYPEImpl.IVL_REAL);
	    TypeTreeNode typetreenode_64_ = new TypeTreeNode(TYPEImpl.GTS);
	    TypeTreeNode typetreenode_65_ = new TypeTreeNode(TYPEImpl.PIVL);
	    TypeTreeNode typetreenode_66_ = new TypeTreeNode(TYPEImpl.EIVL);
	    TypeTreeNode typetreenode_67_ = new TypeTreeNode(TYPEImpl.CO);
	    TypeTreeNode typetreenode_68_ = new TypeTreeNode(TYPEImpl.CS);
	    TypeTreeNode typetreenode_69_ = new TypeTreeNode(TYPEImpl.CE);
	    TypeTreeNode typetreenode_70_ = new TypeTreeNode(TYPEImpl.CV);
	    TypeTreeNode typetreenode_71_ = new TypeTreeNode(TYPEImpl.CR);
	    TypeTreeNode typetreenode_72_ = new TypeTreeNode(TYPEImpl.PQR);
	    TypeTreeNode typetreenode_73_ = new TypeTreeNode(TYPEImpl.TEL);
	    _head.add(typetreenode);
	    _head.add(typetreenode_0_);
	    _head.add(typetreenode_7_);
	    _head.add(typetreenode_8_);
	    _head.add(typetreenode_9_);
	    _head.add(typetreenode_27_);
	    _head.add(typetreenode_71_);
	    _head.add(typetreenode_2_);
	    _head.add(typetreenode_3_);
	    _head.add(typetreenode_4_);
	    _head.add(typetreenode_5_);
	    _head.add(typetreenode_6_);
	    _head.add(typetreenode_10_);
	    _head.add(typetreenode_11_);
	    _head.add(typetreenode_12_);
	    _head.add(typetreenode_13_);
	    _head.add(typetreenode_14_);
	    _head.add(typetreenode_22_);
	    _head.add(typetreenode_15_);
	    _head.add(typetreenode_23_);
	    _head.add(typetreenode_16_);
	    _head.add(typetreenode_17_);
	    _head.add(typetreenode_18_);
	    _head.add(typetreenode_19_);
	    _head.add(typetreenode_20_);
	    _head.add(typetreenode_21_);
	    _head.add(typetreenode_24_);
	    _head.add(typetreenode_25_);
	    _head.add(typetreenode_26_);
	    typetreenode_9_.add(typetreenode_42_);
	    typetreenode_9_.add(typetreenode_43_);
	    typetreenode_9_.add(typetreenode_44_);
	    typetreenode_9_.add(typetreenode_45_);
	    typetreenode_9_.add(typetreenode_46_);
	    typetreenode_9_.add(typetreenode_47_);
	    typetreenode_9_.add(typetreenode_48_);
	    typetreenode_9_.add(typetreenode_49_);
	    typetreenode_0_.add(typetreenode_1_);
	    typetreenode_3_.add(typetreenode_28_);
	    typetreenode_2_.add(typetreenode_37_);
	    typetreenode_5_.add(typetreenode_38_);
	    typetreenode_38_.add(typetreenode_39_);
	    typetreenode_38_.add(typetreenode_40_);
	    typetreenode_38_.add(typetreenode_41_);
	    typetreenode_28_.add(typetreenode_29_);
	    typetreenode_29_.add(typetreenode_30_);
	    typetreenode_30_.add(typetreenode_32_);
	    typetreenode_30_.add(typetreenode_34_);
	    typetreenode_30_.add(typetreenode_33_);
	    typetreenode_30_.add(typetreenode_31_);
	    typetreenode_31_.add(typetreenode_35_);
	    typetreenode_31_.add(typetreenode_36_);
	    typetreenode_17_.add(typetreenode_64_);
	    typetreenode_17_.add(typetreenode_57_);
	    typetreenode_17_.add(typetreenode_65_);
	    typetreenode_17_.add(typetreenode_66_);
	    typetreenode_10_.add(typetreenode_50_);
	    typetreenode_11_.add(typetreenode_51_);
	    typetreenode_12_.add(typetreenode_52_);
	    typetreenode_13_.add(typetreenode_53_);
	    typetreenode_14_.add(typetreenode_54_);
	    typetreenode_22_.add(typetreenode_62_);
	    typetreenode_15_.add(typetreenode_55_);
	    typetreenode_23_.add(typetreenode_63_);
	    typetreenode_16_.add(typetreenode_56_);
	    typetreenode_18_.add(typetreenode_58_);
	    typetreenode_19_.add(typetreenode_59_);
	    typetreenode_20_.add(typetreenode_60_);
	    typetreenode_21_.add(typetreenode_61_);
	    typetreenode_27_.add(typetreenode_68_);
	    typetreenode_27_.add(typetreenode_69_);
	    typetreenode_27_.add(typetreenode_70_);
	    typetreenode_69_.add(typetreenode_67_);
	    typetreenode_70_.add(typetreenode_72_);
	    typetreenode_8_.add(typetreenode_73_);
	}
	
	public boolean implies(TYPE type, TYPE type_74_) {
	    TypeTreeNode typetreenode = find(type);
	    if (typetreenode != null)
		return typetreenode.inFamily(type_74_);
	    return false;
	}
	
	private TypeTreeNode find(TYPE type) {
	    return _head.find(type);
	}
    }
    
    private static class TypeTreeNode
    {
	public TypeTreeNode parent;
	public TYPE type;
	public List children;
	
	public TypeTreeNode(TypeTreeNode typetreenode_75_, TYPE type) {
	    parent = typetreenode_75_;
	    this.type = type;
	    children = new ArrayList();
	}
	
	public TypeTreeNode(TYPE type) {
	    this(null, type);
	}
	
	public void add(TypeTreeNode typetreenode_76_) {
	    children.add(typetreenode_76_);
	    typetreenode_76_.parent = this;
	}
	
	public TypeTreeNode find(TYPE type) {
	    if (this.type.equal(type).isTrue())
		return this;
	    TypeTreeNode typetreenode_77_ = null;
	    for (Iterator iterator = children.iterator();
		 typetreenode_77_ == null && iterator.hasNext();
		 typetreenode_77_
		     = ((TypeTreeNode) iterator.next()).find(type)) {
		/* empty */
	    }
	    return typetreenode_77_;
	}
	
	public boolean inFamily(TYPE type) {
	    boolean bool = false;
	    if (this.type.equal(type).isTrue())
		bool = true;
	    else if (parent != null)
		bool = parent.inFamily(type);
	    return bool;
	}
    }
    
    private TYPEImpl(String string, String string_78_) {
	mShortName = CSImpl.valueOf(string);
	mLongName = CSImpl.valueOf(string_78_);
    }
    
    public CS shortName() {
	return mShortName;
    }
    
    public CS longName() {
	return mLongName;
    }
    
    public BN implies(TYPE type) {
	return BNImpl.valueOf(_hierarchy.implies(this, type));
    }
    
    public TYPE dataType() {
	return TYPE;
    }
    
    public BL equal(ANY any) {
	if (!(any instanceof TYPE))
	    return BLImpl.FALSE;
	TYPEImpl typeimpl_79_ = (TYPEImpl) any;
	return shortName().equal(typeimpl_79_.shortName());
    }
}
